#!/bin/bash
#
# Este script actualiza alguna de las zonas directas...
#
# Argumentos...
#   NOMBRE  IP  ZONA  [delete|add] [host|alias]
#

if [ "" = "$5" ]
then
   echo "ERROR: Numero de argumentos incorrecto"
   echo " updateDNS-directa.sh  <NOMBRE>  <IP>  <ZONA>  [delete|add] [host|alias]"
   exit 2
fi

# Para temporales...
tmpFile=/tmp/adm_updateDNS_$$_$RANDOM

# Para mantener la sincronizacion con CfEngine
dirOrigFiles=/etc/bind/db.zonas/originales
dirDestFiles=/var/lib/sync2cfengine/etc_bind/db.zonas/originales

# Comprobar si estan los ficheros de sincronizacion...
[ ! -e $dirDestFiles/db.statico.$3 ] && /bin/cp -f $dirOrigFiles/db.statico.$3  $dirDestFiles/db.statico.$3  

# si esta la entrada en los ficheros, lo primero es borrarla
if grep -q "^$1 " $dirDestFiles/db.statico.$3
then
   # Sip, esta la entrada... la borramos...
   grep -v "^$1 "  $dirDestFiles/db.statico.$3 > $tmpFile
   /bin/cp -f $tmpFile $dirDestFiles/db.statico.$3
   /bin/rm -f $tmpFile 2>/dev/null
fi

ScriptType=""
REG="A"
if [ "alias" = "$5" ]
then
   ScriptType="-alias"
   REG="CNAME"
fi

# Comprobar la operacion que debemos hacer...
if [ "delete" = "$4" ]
then
   # Es un borrado 
   /usr/bin/sudo /usr/local/AQLN/bin/bind9-updateDNS-directa.sh >/dev/null 2>&1 $1 $2 $3.educarm.net -delete $ScriptType
elif  [ "add" = "$4" ]
then
   # Es un agregado... lo tenemos que añadir al fichero...
   printf "%-23s %-7s %s\n" $1 $REG $2  >> $dirDestFiles/db.statico.$3
   /usr/bin/sudo /usr/local/AQLN/bin/bind9-updateDNS-directa.sh >/dev/null 2>&1 $1 $2 $3.educarm.net $ScriptType
fi
echo -n "[OK]"

